package com.uzai.console.service.tb.tbtoken;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.tb.tbtoken.*;
import com.uzai.console.entity.TbActivityRegToken;
import com.uzai.console.entity.TbToken;
import com.uzai.console.vo.base.SelectIdVo;
import com.uzai.console.vo.tb.tbactivityregtoken.TbActivityRegTokenVo;
import com.uzai.console.vo.tb.tbtoken.TbTokenAuthUrlVo;
import com.uzai.console.vo.tb.tbtoken.TbTokenInfoVo;
import com.uzai.console.vo.tb.tbtoken.TbTokenPageVo;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface TbTokenService {

    /**
     * 查询淘宝联盟列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenQuery
     * @return null
     */
    Page<TbTokenPageVo> findTbTokenList(TbTokenQuery tbTokenQuery);

    /**
     * 设置炮灰
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenSetPhDto
     * @return null
     */
    void setPh(TbTokenSetPhDto tbTokenSetPhDto);

    /**
     * 设置辅助账号
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenSetAuxDto
     * @return null
     */
    void setAux(TbTokenSetAuxDto tbTokenSetAuxDto);

    /**
     * 添加授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenDto
     * @return null
     */
    TbTokenAuthUrlVo addTbToken(TbTokenDto tbTokenDto);

    /**
     * 查询联盟详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenIdDto
     * @return null
     */
    TbTokenInfoVo findTbTokenInfo(TbTokenIdDto tbTokenIdDto);


    List<TbToken> listTbToken(Long merId, List<Long> ids);

    /**
     * 修改联盟PID
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenUpdatePidDto
     * @return null
     */
    void updatePid(TbTokenUpdatePidDto tbTokenUpdatePidDto);

    /**
     * 设置是否同步订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenIsSyncOrderDto
     * @return null
     */
    void setIsSyncOrder(TbTokenIsSyncOrderDto tbTokenIsSyncOrderDto);

    /**
     * 删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenIdDto
     * @return null
     */
    void deleteTbToken(TbTokenIdDto tbTokenIdDto);

    /**
     * 获取一个有效的令牌
     *
     * @param merId
     * @return
     */
    TbToken getOneValidTbToken(Long merId);

    Boolean update(TbTokenUpdateDto tbTokenUpdateDto);

    /**
     * 查询所有淘宝联盟列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenQuery
     * @return null
     */
    List<TbTokenInfoVo> findTbTokenListByAll(TbTokenQuery tbTokenQuery);

    /**
     * 查询淘宝联盟下拉选择列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenQuery
     * @return null
     */
    List<SelectIdVo> findTbTokenSelectList(TbTokenQuery tbTokenQuery);


    /**
     * 查询淘宝联盟618赛马列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param tbTokenQuery
     * @return null
     */
    Page<TbActivityRegTokenVo> findTbActivityRegTokenList(TbTokenQuery tbTokenQuery);

    /**
     * 批量创建pid列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param createPidDto
     * @return null
     */
    List<String> createPidList(CreatePidDto createPidDto);
}
